const NENHUM_REGISTRO = 'nenhum_registro';

var idTabela=1;

var idCampoPagina=0;
var idCampoLinha=0;
var idCampoDados=0;

var minRows = 1;
var maxRows = 2;

var listaPagina = null;
var listaLinhas = null;
var listaDados  = null;

function carregarTela(listaPagina, listaLinhas, listaDados ) {
	this.listaPagina = listaPagina
	this.listaLinhas = listaLinhas;
	this.listaDados  = listaDados;
	carregarPagina();
	carregarLinha();
	carregarDados();
}


function carregarPagina() {
	var listaPagina = this.listaPagina.split(",");
	
	tbPagina = document.getElementById('tabelaPagina');
	var linhaInserida = tbPagina.insertRow(tbPagina.rows.length);
	
	linhaInserida.id = 'pagina_' + idCampoPagina;
	
	selectPagina = document.createElement('select');
	selectPagina.id = 'selectPagina_' + idCampoPagina;
	selectPagina.name = 'selectPagina_' + idCampoPagina;
	
	for (i=0; i<listaPagina.length; i++) {
		if (i == 0){
		  var option = document.createElement('option');
		  option.value = NENHUM_REGISTRO;
		  option.text = "Selecione";
		
		  selectPagina.options.add(option);
		} 
		
		var option = document.createElement('option');
		option.value = listaPagina[i];
		option.text = listaPagina[i];

		selectPagina.options.add(option);

	}
	
	var z=linhaInserida.insertCell(0);
	linhaInserida.insertBefore(selectPagina, z);
	
	idCampoPagina++;
}


function carregarLinha() {
	var listaLinhas = this.listaLinhas.split(",");
	
	tblinha = document.getElementById('tabelaLinha');
	var linhaInserida = tblinha.insertRow(tblinha.rows.length);
	
	linhaInserida.id = 'linha_' + idCampoLinha;
	
	selectLinha = document.createElement('select');
	selectLinha.id = 'selectLinha_' + idCampoLinha;
	selectLinha.name = 'selectLinha_' + idCampoLinha;
	
	for (i=0; i<listaLinhas.length; i++) {
		if (i == 0){
		  var option = document.createElement('option');
		  option.value = NENHUM_REGISTRO;
		  option.text = "Selecione";
		
		  selectLinha.options.add(option);
		} 
	
		var option = document.createElement('option');
		option.value = listaLinhas[i];
		option.text = listaLinhas[i];

		selectLinha.options.add(option);

	}
	
	var z=linhaInserida.insertCell(0);
	linhaInserida.insertBefore(selectLinha, z);
	
	idCampoLinha++;
}

function carregarDados() {
	var listaDados = this.listaDados.split(",");
	
	tbDados = document.getElementById('tabelaDados');
	var linhaInserida = tbDados.insertRow(tbDados.rows.length);
	
	linhaInserida.id = 'dados_' + idCampoDados;
	
	selectDados = document.createElement('select');
	selectDados.id = 'selectDados_' + idCampoDados;
	selectDados.name = 'selectDados_' + idCampoDados;
	
	OnChangeDados = new Function("javascript:alterarValorCombo(this, tbDados)");
	
	
	for (i=0; i<listaDados.length; i++) {
		if (i == 0){
		  var option = document.createElement('option');
		  option.value = NENHUM_REGISTRO;
		  option.text = "Selecione";
		
		  selectDados.options.add(option);
		} 	
		
		var option = document.createElement('option');
		option.value = listaDados[i];
		option.text = listaDados[i];
	
		selectDados.options.add(option);
		
	}
	
	selectDados.onchange = OnChangeDados;
	
	var z=linhaInserida.insertCell(0);
	
	linhaInserida.insertBefore(selectDados, z);
	
	idCampoDados++;

}

function alterarValorCombo(campo, tabela) {
    var tb = tabela;
    var retorno = tb.id;
   
    if (campo.value == NENHUM_REGISTRO) {            
        if (minRows != tb.rows.length) {
        	tb.deleteRow(campo.parentNode.rowIndex);
		}
    }	
    else {
        if (campo.parentNode.rowIndex == (tb.rows.length-1)) {

			if (retorno.substr(6) == "Dados") {
            	if (campo.parentNode.rowIndex != maxRows){
	            	carregarDados();
	            	document.forms[0].totalDados.value= (idCampoDados - 1);
            	}
            }          	
        }
    }
}